package org.coopac.model;

// Generated 25/05/2012 06:04:04 PM by Hibernate Tools 3.4.0.CR1

import java.util.HashSet;
import java.util.Set;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import static javax.persistence.GenerationType.IDENTITY;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;

/**
 * CoopacDireccionPersona generated by hbm2java
 */
@Entity
@Table(name = "coopac_direccion_persona", catalog = "coopac_final")
public class CoopacDireccionPersona implements java.io.Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	private Integer idDireccionPersona;
	private CoopacUbigeo coopacUbigeo;
	private CoopacTipoMaestro coopacTipoMaestroByIdTipoMaestroZona;
	private CoopacTipoMaestro coopacTipoMaestroByIdTipoMaestroVia;
	private CoopacPersona coopacPersona;
	private CoopacTipoMaestro coopacTipoMaestroByIdTipoMaestroVivienda;
	private String nombreZona;
	private String nombreVia;
	private String numero;
	private String kilometro;
	private String manzana;
	private String lote;
	private String departamento;
	private String referencia;
	private String interior;
	private boolean flag;
	private String direccionResumen;
	private Set<CoopacDatosLaborales> coopacDatosLaboraleses = new HashSet<CoopacDatosLaborales>(
			0);

	public CoopacDireccionPersona() {
	}

	public CoopacDireccionPersona(CoopacPersona coopacPersona, boolean flag) {
		this.coopacPersona = coopacPersona;
		this.flag = flag;
	}

	public CoopacDireccionPersona(CoopacUbigeo coopacUbigeo,
			CoopacTipoMaestro coopacTipoMaestroByIdTipoMaestroZona,
			CoopacTipoMaestro coopacTipoMaestroByIdTipoMaestroVia,
			CoopacPersona coopacPersona,
			CoopacTipoMaestro coopacTipoMaestroByIdTipoMaestroVivienda,
			String nombreZona, String nombreVia, String numero,
			String kilometro, String manzana, String lote, String departamento,
			String referencia, String interior, boolean flag,
			String direccionResumen,
			Set<CoopacDatosLaborales> coopacDatosLaboraleses) {
		this.coopacUbigeo = coopacUbigeo;
		this.coopacTipoMaestroByIdTipoMaestroZona = coopacTipoMaestroByIdTipoMaestroZona;
		this.coopacTipoMaestroByIdTipoMaestroVia = coopacTipoMaestroByIdTipoMaestroVia;
		this.coopacPersona = coopacPersona;
		this.coopacTipoMaestroByIdTipoMaestroVivienda = coopacTipoMaestroByIdTipoMaestroVivienda;
		this.nombreZona = nombreZona;
		this.nombreVia = nombreVia;
		this.numero = numero;
		this.kilometro = kilometro;
		this.manzana = manzana;
		this.lote = lote;
		this.departamento = departamento;
		this.referencia = referencia;
		this.interior = interior;
		this.flag = flag;
		this.direccionResumen = direccionResumen;
		this.coopacDatosLaboraleses = coopacDatosLaboraleses;
	}

	@Id
	@GeneratedValue(strategy = IDENTITY)
	@Column(name = "ID_DIRECCION_PERSONA", unique = true, nullable = false)
	public Integer getIdDireccionPersona() {
		return this.idDireccionPersona;
	}

	public void setIdDireccionPersona(Integer idDireccionPersona) {
		this.idDireccionPersona = idDireccionPersona;
	}

	@ManyToOne 
	@JoinColumn(name = "ID_UBIGEO")
	public CoopacUbigeo getCoopacUbigeo() {
		return this.coopacUbigeo;
	}

	public void setCoopacUbigeo(CoopacUbigeo coopacUbigeo) {
		this.coopacUbigeo = coopacUbigeo;
	}

	@ManyToOne 
	@JoinColumn(name = "ID_TIPO_MAESTRO_ZONA")
	public CoopacTipoMaestro getCoopacTipoMaestroByIdTipoMaestroZona() {
		return this.coopacTipoMaestroByIdTipoMaestroZona;
	}

	public void setCoopacTipoMaestroByIdTipoMaestroZona(
			CoopacTipoMaestro coopacTipoMaestroByIdTipoMaestroZona) {
		this.coopacTipoMaestroByIdTipoMaestroZona = coopacTipoMaestroByIdTipoMaestroZona;
	}

	@ManyToOne 
	@JoinColumn(name = "ID_TIPO_MAESTRO_VIA")
	public CoopacTipoMaestro getCoopacTipoMaestroByIdTipoMaestroVia() {
		return this.coopacTipoMaestroByIdTipoMaestroVia;
	}

	public void setCoopacTipoMaestroByIdTipoMaestroVia(
			CoopacTipoMaestro coopacTipoMaestroByIdTipoMaestroVia) {
		this.coopacTipoMaestroByIdTipoMaestroVia = coopacTipoMaestroByIdTipoMaestroVia;
	}

	@ManyToOne 
	@JoinColumn(name = "ID_PERSONA", nullable = false)
	public CoopacPersona getCoopacPersona() {
		return this.coopacPersona;
	}

	public void setCoopacPersona(CoopacPersona coopacPersona) {
		this.coopacPersona = coopacPersona;
	}

	@ManyToOne 
	@JoinColumn(name = "ID_TIPO_MAESTRO_VIVIENDA")
	public CoopacTipoMaestro getCoopacTipoMaestroByIdTipoMaestroVivienda() {
		return this.coopacTipoMaestroByIdTipoMaestroVivienda;
	}

	public void setCoopacTipoMaestroByIdTipoMaestroVivienda(
			CoopacTipoMaestro coopacTipoMaestroByIdTipoMaestroVivienda) {
		this.coopacTipoMaestroByIdTipoMaestroVivienda = coopacTipoMaestroByIdTipoMaestroVivienda;
	}

	@Column(name = "NOMBRE_ZONA")
	public String getNombreZona() {
		return this.nombreZona;
	}

	public void setNombreZona(String nombreZona) {
		this.nombreZona = nombreZona;
	}

	@Column(name = "NOMBRE_VIA")
	public String getNombreVia() {
		return this.nombreVia;
	}

	public void setNombreVia(String nombreVia) {
		this.nombreVia = nombreVia;
	}

	@Column(name = "NUMERO")
	public String getNumero() {
		return this.numero;
	}

	public void setNumero(String numero) {
		this.numero = numero;
	}

	@Column(name = "KILOMETRO")
	public String getKilometro() {
		return this.kilometro;
	}

	public void setKilometro(String kilometro) {
		this.kilometro = kilometro;
	}

	@Column(name = "MANZANA")
	public String getManzana() {
		return this.manzana;
	}

	public void setManzana(String manzana) {
		this.manzana = manzana;
	}

	@Column(name = "LOTE")
	public String getLote() {
		return this.lote;
	}

	public void setLote(String lote) {
		this.lote = lote;
	}

	@Column(name = "DEPARTAMENTO")
	public String getDepartamento() {
		return this.departamento;
	}

	public void setDepartamento(String departamento) {
		this.departamento = departamento;
	}

	@Column(name = "REFERENCIA")
	public String getReferencia() {
		return this.referencia;
	}

	public void setReferencia(String referencia) {
		this.referencia = referencia;
	}

	@Column(name = "INTERIOR")
	public String getInterior() {
		return this.interior;
	}

	public void setInterior(String interior) {
		this.interior = interior;
	}

	@Column(name = "FLAG", nullable = false)
	public boolean isFlag() {
		return this.flag;
	}

	public void setFlag(boolean flag) {
		this.flag = flag;
	}

	@Column(name = "DIRECCION_RESUMEN")
	public String getDireccionResumen() {
		return this.direccionResumen;
	}

	public void setDireccionResumen(String direccionResumen) {
		this.direccionResumen = direccionResumen;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "coopacDireccionPersona")
	public Set<CoopacDatosLaborales> getCoopacDatosLaboraleses() {
		return this.coopacDatosLaboraleses;
	}

	public void setCoopacDatosLaboraleses(
			Set<CoopacDatosLaborales> coopacDatosLaboraleses) {
		this.coopacDatosLaboraleses = coopacDatosLaboraleses;
	}

}
